/**
 * 题目:
 * 实现格式化日期函数
 * 
 * 描述:
 * 输入: new Date(), 'YYYY-MM-DD'
 * 输出: 2022-11-17
*/

/**
 * @param  {Date} 日期对象
 * @param  {String} 日期格式
 * @return {Stirng} 格式化后的日期
*/
function formatDate(date, format) {
  const pad = (n) => n < 10 ? '0' + n : n
  const dateDict = {
    'YYYY': date.getFullYear(),
    'MM': pad(date.getMonth() + 1),
    'DD': pad(date.getDate()),
    'HH': pad(date.getHours()),
    'mm': pad(date.getMinutes()),
    'ss': pad(date.getSeconds())
  }

  return format.replace(/YYYY|MM|DD|HH|mm|ss/g, match => dateDict[match])
}


// // 测试
// const date = new Date()
// let dateStr1 = formatDate(date, 'YYYY-MM-DD')
// let dateStr2 = formatDate(date, 'YYYY-MM-DD HH:mm:ss')
// let dateStr3 = formatDate(date, 'YYYY/MM/DD')
// // 2024-06-15
// // 2024-06-15 18:55:27
// // 2024/06/15

